The compose key should now work better with UIM (1/4).
authorDaniel Colascione <dancol@dancol.org>
Sun, 23 Mar 2014 10:24:51 +0000 (03:24 -0700)
committerRob Browning <rlb@defaultvalue.org>
Fri, 15 Aug 2014 21:46:16 +0000 (16:46 -0500)
This upstream patch has been added:

  Work around flaky XIM modules

Origin: upstream, commit: r116856.1.1, 3ee4c51c34a049dc4bd36fb04c33cdf9a85e5ffa
Added-by: Rob Browning <rlb@defaultvalue.org>
Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=753534

src/ChangeLog
src/xfns.c

index 01acb0293752848a5dbc197a8e196a925481ab7e..271d81d66feddb59e223acfa5fc3806e80cb32de 100644 (file)
@@ -1,3 +1,8 @@
+2014-03-23  Daniel Colascione  <dancol@dancol.org>
+
+       * xfns.c (create_frame_xic): If XCreateIC fails, try again without
+       XNStatusAttributes; works around flaky XIM modules, apparently.
+
 2013-08-21  Paul Eggert  <eggert@cs.ucla.edu>
 
        * process.c (allocate_pty) [PTY_OPEN]: Set fd's FD_CLOEXEC flag.
index 656b71f0e89691c710ebe9838f930f6137f2f8d9..f1d4a489a455be9988b996aa80f3a9506ce1ec7c 100644 (file)
@@ -2221,6 +2221,16 @@ create_frame_xic (struct frame *f)
                       XNStatusAttributes, status_attr,
                       XNPreeditAttributes, preedit_attr,
                       NULL);
+
+      /* Some input methods don't support a status pixel.  */
+      if (xic == NULL)
+        xic = XCreateIC (xim,
+                         XNInputStyle, xic_style,
+                         XNClientWindow, FRAME_X_WINDOW (f),
+                         XNFocusWindow, FRAME_X_WINDOW (f),
+                         XNPreeditAttributes, preedit_attr,
+                         NULL);
+
       XFree (preedit_attr);
       XFree (status_attr);
     }